from pydantic import BaseModel, EmailStr
from typing import Optional, List
from datetime import date



class DashboardManualBase(BaseModel):
    indigenous_student: Optional[str]
    placement_performance: Optional[str]
    grade_updated: Optional[str]
    grade_updated_date: Optional[date]
    unsw_attendee_presentation: Optional[str]
    mpc_submitted_date: Optional[date]
    mpc_submitted_on_time: Optional[str]
    mpc_call_date: Optional[date]
    mpc_call_on_time: Optional[str]
    it_change_approved: Optional[str]

class ITEDashboardManualUpdate(BaseModel):
    ite_id: int
    indigenous_student: Optional[str] = None
    placement_performance: Optional[str] = None
    grade_updated: Optional[str] = None
    grade_updated_date: Optional[date] = None
    unsw_attendee_presentation: Optional[str] = None
    mpc_submitted_date: Optional[date] = None
    mpc_submitted_on_time: Optional[str] = None
    mpc_call_date: Optional[date] = None
    mpc_call_on_time: Optional[str] = None
    it_change_approved: Optional[str] = None

class DashboardManualCreate(DashboardManualBase):
    ite_id: int

class DashboardManualUpdate(DashboardManualBase):
    ite_id: int
